from __future__ import annotations

from dataclasses import dataclass


@dataclass
class PlatformLoad:
    factored_vertical_kN: float
    factored_horizontal_kN: float
    note: str


def combine_platform_load(
    equipment_weight_kN: float,
    live_load_kN_m2: float,
    area_m2: float,
    wind_kN: float = 0.0,
    gamma_G: float = 1.2,
    gamma_Q: float = 1.4,
    psi_0: float = 0.7,
) -> PlatformLoad:
    """平台/构架荷载组合（极限状态简化）。"""

    Gd = equipment_weight_kN * gamma_G
    Qd = (live_load_kN_m2 * area_m2) * gamma_Q
    Vd = Gd + Qd
    Hd = wind_kN * psi_0 * gamma_Q
    return PlatformLoad(factored_vertical_kN=Vd, factored_horizontal_kN=Hd, note="极限状态组合")


